#ifndef _SEQUENCE_STACK_H_
#define _SEQUENCE_STACK_H_
#include<stdio.h>

#define MAX_STACK_SIZE  1000

typedef enum 
{
    FAIL = -1,
    ERROR,
    OK
}Status_t;/*表示状态信息*/

typedef struct 
{
    char name[40];
    char token[20];
    float price;
}Book_t;/*数据元素为图书信息*/

typedef int ElemType ;

typedef struct list
{
    ElemType *base;/*栈底指针*/
    ElemType *top;/*栈顶指针*/
    size_t size;/*栈大小*/
    
}Sq_Stack_t;

/*初始化栈*/
Sq_Stack_t* InitStack(void);

/*销毁栈*/
void DestroyStack(Sq_Stack_t **stack);

/*是否栈满*/
bool IsFull(Sq_Stack_t *stack);

/*是否空栈*/
bool IsEmpty(Sq_Stack_t *stack);

/*入栈*/
Sq_Stack_t* PushStack(Sq_Stack_t *stack,ElemType *data);

/*出栈*/
ElemType* PopStack(Sq_Stack_t *stack);

/*取栈顶元素*/
ElemType* getTop(Sq_Stack_t *stack);

#endif